home *** CD-ROM | disk | FTP | other *** search
/ Symantec Visual Cafe for Java 2.5 / symantec-visual-cafe-2.5-database-dev-edition.iso / Visual Cafe Pro v1.0 / TUTORIAL.BIN / SessionMetaData.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-01-30  |  31.1 KB  |  1,259 lines

  1. package symantec.itools.db.pro;
  2.  
  3. import java.io.EOFException;
  4. import java.util.Vector;
  5. import symantec.itools.db.net.ClientSession;
  6. import symantec.itools.db.net.NetData;
  7. import symantec.itools.db.net.NetString;
  8. import symantec.itools.db.net.Param;
  9. import symantec.itools.db.net.RemoteObject;
  10. import symantec.itools.db.net.TextParam;
  11. import symjava.sql.SQLException;
  12.  
  13. public class SessionMetaData {
  14.    Session _session;
  15.    RemoteObject _messgr;
  16.    Vector _multiViews;
  17.    ConnectionInfo _conn;
  18.    private boolean _allProceduresAreCallable;
  19.    private boolean _allTablesAreSelectable;
  20.    private boolean _isReadOnly;
  21.    private boolean _nullsAreSortedHigh;
  22.    private boolean _nullsAreSortedLow;
  23.    private boolean _nullsAreSortedAtStart;
  24.    private boolean _nullsAreSortedAtEnd;
  25.    private boolean _isCatalogAtStart;
  26.    private boolean _usesLocalFiles;
  27.    private boolean _usesLocalFilePerTable;
  28.    private boolean _supportsMixedCaseIdentifiers;
  29.    private boolean _storesUpperCaseIdentifiers;
  30.    private boolean _storesLowerCaseIdentifiers;
  31.    private boolean _storesMixedCaseIdentifiers;
  32.    private boolean _supportsMixedCaseQuotedIdentifiers;
  33.    private boolean _storesUpperCaseQuotedIdentifiers;
  34.    private boolean _storesLowerCaseQuotedIdentifiers;
  35.    private boolean _storesMixedCaseQuotedIdentifiers;
  36.    private boolean _supportsAlterTableWithAddColumn;
  37.    private boolean _supportsAlterTableWithDropColumn;
  38.    private boolean _supportsTableCorrelationNames;
  39.    private boolean _supportsDifferentTableCorrelationNames;
  40.    private boolean _supportsColumnAliasing;
  41.    private boolean _supportsNonNullableColumns;
  42.    private boolean _nullPlusNonNullIsNull;
  43.    private boolean _supportsExpressionsInOrderBy;
  44.    private boolean _supportsOrderByUnrelated;
  45.    private boolean _supportsGroupBy;
  46.    private boolean _supportsGroupByUnrelated;
  47.    private boolean _supportsGroupByBeyondSelect;
  48.    private boolean _supportsOuterJoins;
  49.    private boolean _supportsFullOuterJoins;
  50.    private boolean _supportsLimitedOuterJoins;
  51.    private boolean _supportsLikeEscapeClause;
  52.    private boolean _supportsMultipleResultSets;
  53.    private boolean _supportsMultipleTransactions;
  54.    private boolean _supportsOpenCursorsAcrossCommit;
  55.    private boolean _supportsOpenCursorsAcrossRollback;
  56.    private boolean _supportsOpenStatementsAcrossCommit;
  57.    private boolean _supportsOpenStatementsAcrossRollback;
  58.    private boolean _supportsTransactions;
  59.    private boolean _supportsDataDefinitionAndDataManipulationTransactions;
  60.    private boolean _supportsDataManipulationTransactionsOnly;
  61.    private boolean _supportsMinimumSQLGrammar;
  62.    private boolean _supportsCoreSQLGrammar;
  63.    private boolean _supportsExtendedSQLGrammar;
  64.    private boolean _supportsIntegrityEnhancementFacility;
  65.    private boolean _supportsSchemasInDataManipulation;
  66.    private boolean _supportsSchemasInProcedureCalls;
  67.    private boolean _supportsSchemasInTableDefinitions;
  68.    private boolean _supportsSchemasInIndexDefinitions;
  69.    private boolean _supportsSchemasInPrivilegeDefinitions;
  70.    private boolean _supportsCatalogsInDataManipulation;
  71.    private boolean _supportsCatalogsInProcedureCalls;
  72.    private boolean _supportsCatalogsInTableDefinitions;
  73.    private boolean _supportsCatalogsInIndexDefinitions;
  74.    private boolean _supportsCatalogsInPrivilegeDefinitions;
  75.    private boolean _supportsPositionedDelete;
  76.    private boolean _supportsPositionedUpdate;
  77.    private boolean _supportsSelectForUpdate;
  78.    private boolean _supportsSubqueriesInComparisons;
  79.    private boolean _supportsSubqueriesInExists;
  80.    private boolean _supportsSubqueriesInIns;
  81.    private boolean _supportsSubqueriesInQuantifieds;
  82.    private boolean _supportsCorrelatedSubqueries;
  83.    private boolean _supportsUnion;
  84.    private boolean _supportsUnionAll;
  85.    private boolean _doesMaxRowSizeIncludeBlobs;
  86.    private boolean _supportsStoredProcedures;
  87.    private boolean _dataDefinitionCausesTransactionCommit;
  88.    private boolean _dataDefinitionIgnoredInTransactions;
  89.    private boolean _supportsANSI92EntryLevelSQL;
  90.    private boolean _supportsANSI92IntermediateSQL;
  91.    private boolean _supportsANSI92FullSQL;
  92.    private int _MaxBinaryLiteralLength;
  93.    private int _MaxCharLiteralLength;
  94.    private int _MaxColumnNameLength;
  95.    private int _MaxColumnsInGroupBy;
  96.    private int _MaxColumnsInIndex;
  97.    private int _MaxColumnsInOrderBy;
  98.    private int _MaxColumnsInSelect;
  99.    private int _MaxColumnsInTable;
  100.    private int _MaxConnections;
  101.    private int _MaxCursorNameLength;
  102.    private int _MaxIndexLength;
  103.    private int _MaxSchemaNameLength;
  104.    private int _MaxProcedureNameLength;
  105.    private int _MaxCatalogNameLength;
  106.    private int _MaxRowSize;
  107.    private int _MaxStatementLength;
  108.    private int _MaxStatements;
  109.    private int _MaxTableNameLength;
  110.    private int _MaxTablesInSelect;
  111.    private int _MaxUserNameLength;
  112.    private int _DefaultTransactionIsolation;
  113.    private String _UserName;
  114.    private String _DatabaseProductName;
  115.    private String _DatabaseProductVersion;
  116.    private String _SchemaTerm;
  117.    private String _ProcedureTerm;
  118.    private String _CatalogTerm;
  119.    private String _CatalogSeparator;
  120.    private String _SearchStringEscape;
  121.    private String _ExtraNameCharacters;
  122.    private String _IdentifierQuoteString;
  123.    private String _DriverName;
  124.    private String _DriverVersion;
  125.    private final int METHOD_getURL;
  126.    private final int METHOD_getDriverMajorVersion = 1;
  127.    private final int METHOD_getDriverMinorVersion = 2;
  128.    private final int METHOD_getSQLKeywords = 3;
  129.    private final int METHOD_getNumericFunctions = 4;
  130.    private final int METHOD_getStringFunctions = 5;
  131.    private final int METHOD_getSystemFunctions = 6;
  132.    private final int METHOD_supportsConvert1 = 7;
  133.    private final int METHOD_supportsConvert2 = 8;
  134.    private final int METHOD_supportsTransactionIsolationLevel = 9;
  135.    private final int METHOD_getProcedures = 10;
  136.    private final int METHOD_getProcedureColumns = 11;
  137.    private final int METHOD_getTables = 12;
  138.    private final int METHOD_getSchemas = 13;
  139.    private final int METHOD_getCatalogs = 14;
  140.    private final int METHOD_getTableTypes = 15;
  141.    private final int METHOD_getColumns = 16;
  142.    private final int METHOD_getColumnPrivileges = 17;
  143.    private final int METHOD_getTablePrivileges = 18;
  144.    private final int METHOD_getBestRowIdentifier = 19;
  145.    private final int METHOD_getVersionColumns = 20;
  146.    private final int METHOD_getPrimaryKeys = 21;
  147.    private final int METHOD_getImportedKeys = 22;
  148.    private final int METHOD_getExportedKeys = 23;
  149.    private final int METHOD_getCrossReference = 24;
  150.    private final int METHOD_getTypeInfo = 25;
  151.    private final int METHOD_getIndexInfo = 26;
  152.    private final int METHOD_getTimeDateFunctions = 27;
  153.    int procedureResultUnknown;
  154.    int procedureNoResult = 1;
  155.    int procedureReturnsResult = 2;
  156.    int procedureColumnUnknown;
  157.    int procedureColumnIn = 1;
  158.    int procedureColumnInOut = 2;
  159.    int procedureColumnResult = 3;
  160.    int procedureColumnOut = 4;
  161.    int procedureColumnReturn = 5;
  162.    int bestRowTemporary;
  163.    int bestRowTransaction = 1;
  164.    int bestRowSession = 2;
  165.    int bestRowUnknown;
  166.    int bestRowNotPseudo = 1;
  167.    int bestRowPseudo = 2;
  168.    int versionColumnUnknown;
  169.    int versionColumnNotPseudo = 1;
  170.    int versionColumnPseudo = 2;
  171.    int importedKeyCascade;
  172.    int importedKeyRestrict = 1;
  173.    int importedKeySetNull = 2;
  174.    int typeUnSearchable;
  175.    int typeSearchLikeOnly = 1;
  176.    int typeSearchNotLike = 2;
  177.    int typeSearchable = 3;
  178.    short tableIndexStatistic;
  179.    short tableIndexClustered = 1;
  180.    short tableIndexHashed = 2;
  181.    short tableIndexOther = 3;
  182.  
  183.    private ClientSession getSession() {
  184.       return this._session.getClientSession();
  185.    }
  186.  
  187.    SessionMetaData(Session session, Vector results, ConnectionInfo conn) throws SQLException {
  188.       this._session = session;
  189.       this._conn = conn;
  190.       int id = 0;
  191.       NetData d = (NetData)results.elementAt(0);
  192.  
  193.       try {
  194.          id = d.getInt();
  195.       } catch (EOFException e) {
  196.          throw new SQLException(((Throwable)e).getMessage());
  197.       }
  198.  
  199.       this._messgr = new RemoteObject("CSCLDatabaseMetaData", id, this._session.getClientSession());
  200.       this._multiViews = new Vector();
  201.  
  202.       try {
  203.          d = (NetData)results.elementAt(1);
  204.          this._allProceduresAreCallable = d.getBool();
  205.          d = (NetData)results.elementAt(2);
  206.          this._allTablesAreSelectable = d.getBool();
  207.          d = (NetData)results.elementAt(3);
  208.          this._isReadOnly = d.getBool();
  209.          d = (NetData)results.elementAt(4);
  210.          this._nullsAreSortedHigh = d.getBool();
  211.          d = (NetData)results.elementAt(5);
  212.          this._nullsAreSortedLow = d.getBool();
  213.          d = (NetData)results.elementAt(6);
  214.          this._nullsAreSortedAtStart = d.getBool();
  215.          d = (NetData)results.elementAt(7);
  216.          this._nullsAreSortedAtEnd = d.getBool();
  217.          d = (NetData)results.elementAt(8);
  218.          this._isCatalogAtStart = d.getBool();
  219.          d = (NetData)results.elementAt(9);
  220.          this._usesLocalFiles = d.getBool();
  221.          d = (NetData)results.elementAt(10);
  222.          this._usesLocalFilePerTable = d.getBool();
  223.          d = (NetData)results.elementAt(11);
  224.          this._supportsMixedCaseIdentifiers = d.getBool();
  225.          d = (NetData)results.elementAt(12);
  226.          this._storesUpperCaseIdentifiers = d.getBool();
  227.          d = (NetData)results.elementAt(13);
  228.          this._storesLowerCaseIdentifiers = d.getBool();
  229.          d = (NetData)results.elementAt(14);
  230.          this._storesMixedCaseIdentifiers = d.getBool();
  231.          d = (NetData)results.elementAt(15);
  232.          this._supportsMixedCaseQuotedIdentifiers = d.getBool();
  233.          d = (NetData)results.elementAt(16);
  234.          this._storesUpperCaseQuotedIdentifiers = d.getBool();
  235.          d = (NetData)results.elementAt(17);
  236.          this._storesLowerCaseQuotedIdentifiers = d.getBool();
  237.          d = (NetData)results.elementAt(18);
  238.          this._storesMixedCaseQuotedIdentifiers = d.getBool();
  239.          d = (NetData)results.elementAt(19);
  240.          this._supportsAlterTableWithAddColumn = d.getBool();
  241.          d = (NetData)results.elementAt(20);
  242.          this._supportsAlterTableWithDropColumn = d.getBool();
  243.          d = (NetData)results.elementAt(21);
  244.          this._supportsTableCorrelationNames = d.getBool();
  245.          d = (NetData)results.elementAt(22);
  246.          this._supportsDifferentTableCorrelationNames = d.getBool();
  247.          d = (NetData)results.elementAt(23);
  248.          this._supportsColumnAliasing = d.getBool();
  249.          d = (NetData)results.elementAt(24);
  250.          this._supportsNonNullableColumns = d.getBool();
  251.          d = (NetData)results.elementAt(25);
  252.          this._nullPlusNonNullIsNull = d.getBool();
  253.          d = (NetData)results.elementAt(26);
  254.          this._supportsExpressionsInOrderBy = d.getBool();
  255.          d = (NetData)results.elementAt(27);
  256.          this._supportsOrderByUnrelated = d.getBool();
  257.          d = (NetData)results.elementAt(28);
  258.          this._supportsGroupBy = d.getBool();
  259.          d = (NetData)results.elementAt(29);
  260.          this._supportsGroupByUnrelated = d.getBool();
  261.          d = (NetData)results.elementAt(30);
  262.          this._supportsGroupByBeyondSelect = d.getBool();
  263.          d = (NetData)results.elementAt(31);
  264.          this._supportsOuterJoins = d.getBool();
  265.          d = (NetData)results.elementAt(32);
  266.          this._supportsFullOuterJoins = d.getBool();
  267.          d = (NetData)results.elementAt(33);
  268.          this._supportsLimitedOuterJoins = d.getBool();
  269.          d = (NetData)results.elementAt(34);
  270.          this._supportsLikeEscapeClause = d.getBool();
  271.          d = (NetData)results.elementAt(35);
  272.          this._supportsMultipleResultSets = d.getBool();
  273.          d = (NetData)results.elementAt(36);
  274.          this._supportsMultipleTransactions = d.getBool();
  275.          d = (NetData)results.elementAt(37);
  276.          this._supportsOpenCursorsAcrossCommit = d.getBool();
  277.          d = (NetData)results.elementAt(38);
  278.          this._supportsOpenCursorsAcrossRollback = d.getBool();
  279.          d = (NetData)results.elementAt(39);
  280.          this._supportsOpenStatementsAcrossCommit = d.getBool();
  281.          d = (NetData)results.elementAt(40);
  282.          this._supportsOpenStatementsAcrossRollback = d.getBool();
  283.          d = (NetData)results.elementAt(41);
  284.          this._supportsTransactions = d.getBool();
  285.          d = (NetData)results.elementAt(42);
  286.          this._supportsDataDefinitionAndDataManipulationTransactions = d.getBool();
  287.          d = (NetData)results.elementAt(43);
  288.          this._supportsDataManipulationTransactionsOnly = d.getBool();
  289.          d = (NetData)results.elementAt(44);
  290.          this._supportsMinimumSQLGrammar = d.getBool();
  291.          d = (NetData)results.elementAt(45);
  292.          this._supportsCoreSQLGrammar = d.getBool();
  293.          d = (NetData)results.elementAt(46);
  294.          this._supportsExtendedSQLGrammar = d.getBool();
  295.          d = (NetData)results.elementAt(47);
  296.          this._supportsIntegrityEnhancementFacility = d.getBool();
  297.          d = (NetData)results.elementAt(48);
  298.          this._supportsSchemasInDataManipulation = d.getBool();
  299.          d = (NetData)results.elementAt(49);
  300.          this._supportsSchemasInProcedureCalls = d.getBool();
  301.          d = (NetData)results.elementAt(50);
  302.          this._supportsSchemasInTableDefinitions = d.getBool();
  303.          d = (NetData)results.elementAt(51);
  304.          this._supportsSchemasInIndexDefinitions = d.getBool();
  305.          d = (NetData)results.elementAt(52);
  306.          this._supportsSchemasInPrivilegeDefinitions = d.getBool();
  307.          d = (NetData)results.elementAt(53);
  308.          this._supportsCatalogsInDataManipulation = d.getBool();
  309.          d = (NetData)results.elementAt(54);
  310.          this._supportsCatalogsInProcedureCalls = d.getBool();
  311.          d = (NetData)results.elementAt(55);
  312.          this._supportsCatalogsInTableDefinitions = d.getBool();
  313.          d = (NetData)results.elementAt(56);
  314.          this._supportsCatalogsInIndexDefinitions = d.getBool();
  315.          d = (NetData)results.elementAt(57);
  316.          this._supportsCatalogsInPrivilegeDefinitions = d.getBool();
  317.          d = (NetData)results.elementAt(58);
  318.          this._supportsPositionedDelete = d.getBool();
  319.          d = (NetData)results.elementAt(59);
  320.          this._supportsPositionedUpdate = d.getBool();
  321.          d = (NetData)results.elementAt(60);
  322.          this._supportsSelectForUpdate = d.getBool();
  323.          d = (NetData)results.elementAt(61);
  324.          this._supportsSubqueriesInComparisons = d.getBool();
  325.          d = (NetData)results.elementAt(62);
  326.          this._supportsSubqueriesInExists = d.getBool();
  327.          d = (NetData)results.elementAt(63);
  328.          this._supportsSubqueriesInIns = d.getBool();
  329.          d = (NetData)results.elementAt(64);
  330.          this._supportsSubqueriesInQuantifieds = d.getBool();
  331.          d = (NetData)results.elementAt(65);
  332.          this._supportsCorrelatedSubqueries = d.getBool();
  333.          d = (NetData)results.elementAt(66);
  334.          this._supportsUnion = d.getBool();
  335.          d = (NetData)results.elementAt(67);
  336.          this._supportsUnionAll = d.getBool();
  337.          d = (NetData)results.elementAt(68);
  338.          this._doesMaxRowSizeIncludeBlobs = d.getBool();
  339.          d = (NetData)results.elementAt(69);
  340.          this._supportsStoredProcedures = d.getBool();
  341.          d = (NetData)results.elementAt(70);
  342.          this._dataDefinitionCausesTransactionCommit = d.getBool();
  343.          d = (NetData)results.elementAt(71);
  344.          this._dataDefinitionIgnoredInTransactions = d.getBool();
  345.          d = (NetData)results.elementAt(72);
  346.          this._supportsANSI92EntryLevelSQL = d.getBool();
  347.          d = (NetData)results.elementAt(73);
  348.          this._supportsANSI92IntermediateSQL = d.getBool();
  349.          d = (NetData)results.elementAt(74);
  350.          this._supportsANSI92FullSQL = d.getBool();
  351.          d = (NetData)results.elementAt(75);
  352.          this._MaxBinaryLiteralLength = d.getInt();
  353.          d = (NetData)results.elementAt(76);
  354.          this._MaxCharLiteralLength = d.getInt();
  355.          d = (NetData)results.elementAt(77);
  356.          this._MaxColumnNameLength = d.getInt();
  357.          d = (NetData)results.elementAt(78);
  358.          this._MaxColumnsInGroupBy = d.getInt();
  359.          d = (NetData)results.elementAt(79);
  360.          this._MaxColumnsInIndex = d.getInt();
  361.          d = (NetData)results.elementAt(80);
  362.          this._MaxColumnsInOrderBy = d.getInt();
  363.          d = (NetData)results.elementAt(81);
  364.          this._MaxColumnsInSelect = d.getInt();
  365.          d = (NetData)results.elementAt(82);
  366.          this._MaxColumnsInTable = d.getInt();
  367.          d = (NetData)results.elementAt(83);
  368.          this._MaxConnections = d.getInt();
  369.          d = (NetData)results.elementAt(84);
  370.          this._MaxCursorNameLength = d.getInt();
  371.          d = (NetData)results.elementAt(85);
  372.          this._MaxIndexLength = d.getInt();
  373.          d = (NetData)results.elementAt(86);
  374.          this._MaxSchemaNameLength = d.getInt();
  375.          d = (NetData)results.elementAt(87);
  376.          this._MaxProcedureNameLength = d.getInt();
  377.          d = (NetData)results.elementAt(88);
  378.          this._MaxCatalogNameLength = d.getInt();
  379.          d = (NetData)results.elementAt(89);
  380.          this._MaxRowSize = d.getInt();
  381.          d = (NetData)results.elementAt(90);
  382.          this._MaxStatementLength = d.getInt();
  383.          d = (NetData)results.elementAt(91);
  384.          this._MaxStatements = d.getInt();
  385.          d = (NetData)results.elementAt(92);
  386.          this._MaxTableNameLength = d.getInt();
  387.          d = (NetData)results.elementAt(93);
  388.          this._MaxTablesInSelect = d.getInt();
  389.          d = (NetData)results.elementAt(94);
  390.          this._MaxUserNameLength = d.getInt();
  391.          d = (NetData)results.elementAt(95);
  392.          this._DefaultTransactionIsolation = d.getInt();
  393.          NetString s = (NetString)results.elementAt(96);
  394.          this._UserName = s.getString();
  395.          s = (NetString)results.elementAt(97);
  396.          this._DatabaseProductName = s.getString();
  397.          s = (NetString)results.elementAt(98);
  398.          this._DatabaseProductVersion = s.getString();
  399.          s = (NetString)results.elementAt(99);
  400.          this._SchemaTerm = s.getString();
  401.          s = (NetString)results.elementAt(100);
  402.          this._ProcedureTerm = s.getString();
  403.          s = (NetString)results.elementAt(101);
  404.          this._CatalogTerm = s.getString();
  405.          s = (NetString)results.elementAt(102);
  406.          this._CatalogSeparator = s.getString();
  407.          s = (NetString)results.elementAt(103);
  408.          this._SearchStringEscape = s.getString();
  409.          s = (NetString)results.elementAt(104);
  410.          this._ExtraNameCharacters = s.getString();
  411.          s = (NetString)results.elementAt(105);
  412.          this._IdentifierQuoteString = s.getString();
  413.          s = (NetString)results.elementAt(106);
  414.          this._DriverName = s.getString();
  415.          s = (NetString)results.elementAt(107);
  416.          this._DriverVersion = s.getString();
  417.       } catch (EOFException e) {
  418.          throw new SQLException(((Throwable)e).getMessage());
  419.       }
  420.    }
  421.  
  422.    public boolean allProceduresAreCallable() {
  423.       return this._allProceduresAreCallable;
  424.    }
  425.  
  426.    public boolean allTablesAreSelectable() {
  427.       return this._allTablesAreSelectable;
  428.    }
  429.  
  430.    public String getURL() throws SQLException {
  431.       return this._session.getServerURL() + "/" + this._conn.getDBString();
  432.    }
  433.  
  434.    public String getUserName() {
  435.       return this._UserName;
  436.    }
  437.  
  438.    public boolean isReadOnly() {
  439.       return this._isReadOnly;
  440.    }
  441.  
  442.    public boolean nullsAreSortedHigh() {
  443.       return this._nullsAreSortedHigh;
  444.    }
  445.  
  446.    public boolean nullsAreSortedLow() {
  447.       return this._nullsAreSortedLow;
  448.    }
  449.  
  450.    public boolean nullsAreSortedAtStart() {
  451.       return this._nullsAreSortedAtStart;
  452.    }
  453.  
  454.    public boolean nullsAreSortedAtEnd() {
  455.       return this._nullsAreSortedAtEnd;
  456.    }
  457.  
  458.    public String getDatabaseProductName() {
  459.       return this._DatabaseProductName;
  460.    }
  461.  
  462.    public String getDatabaseProductVersion() {
  463.       return this._DatabaseProductVersion;
  464.    }
  465.  
  466.    public String getDriverName() {
  467.       return this._DriverName;
  468.    }
  469.  
  470.    public String getDriverVersion() {
  471.       return this._DriverVersion;
  472.    }
  473.  
  474.    public int getDriverMajorVersion() {
  475.       return 1;
  476.    }
  477.  
  478.    public int getDriverMinorVersion() {
  479.       return 0;
  480.    }
  481.  
  482.    public boolean isCatalogAtStart() {
  483.       return this._isCatalogAtStart;
  484.    }
  485.  
  486.    public boolean usesLocalFiles() {
  487.       return this._usesLocalFiles;
  488.    }
  489.  
  490.    public boolean usesLocalFilePerTable() {
  491.       return this._usesLocalFilePerTable;
  492.    }
  493.  
  494.    public boolean supportsMixedCaseIdentifiers() {
  495.       return this._supportsMixedCaseIdentifiers;
  496.    }
  497.  
  498.    public boolean storesUpperCaseIdentifiers() {
  499.       return this._storesUpperCaseIdentifiers;
  500.    }
  501.  
  502.    public boolean storesLowerCaseIdentifiers() {
  503.       return this._storesLowerCaseIdentifiers;
  504.    }
  505.  
  506.    public boolean storesMixedCaseIdentifiers() {
  507.       return this._storesMixedCaseIdentifiers;
  508.    }
  509.  
  510.    public boolean supportsMixedCaseQuotedIdentifiers() {
  511.       return this._supportsMixedCaseQuotedIdentifiers;
  512.    }
  513.  
  514.    public boolean storesUpperCaseQuotedIdentifiers() {
  515.       return this._storesUpperCaseQuotedIdentifiers;
  516.    }
  517.  
  518.    public boolean storesLowerCaseQuotedIdentifiers() {
  519.       return this._storesLowerCaseQuotedIdentifiers;
  520.    }
  521.  
  522.    public boolean storesMixedCaseQuotedIdentifiers() {
  523.       return this._storesMixedCaseQuotedIdentifiers;
  524.    }
  525.  
  526.    public String getIdentifierQuoteString() {
  527.       return this._IdentifierQuoteString;
  528.    }
  529.  
  530.    public boolean supportsANSI92EntryLevelSQL() {
  531.       return this._supportsANSI92EntryLevelSQL;
  532.    }
  533.  
  534.    public boolean supportsANSI92IntermediateSQL() {
  535.       return this._supportsANSI92IntermediateSQL;
  536.    }
  537.  
  538.    public boolean supportsANSI92FullSQL() {
  539.       return this._supportsANSI92FullSQL;
  540.    }
  541.  
  542.    public String getSQLKeywords() throws SQLException {
  543.       Vector results = this._messgr.invokeMethod(3);
  544.       NetString s = (NetString)results.elementAt(0);
  545.       return s.getString();
  546.    }
  547.  
  548.    public String getTimeDateFunctions() throws SQLException {
  549.       Vector results = this._messgr.invokeMethod(27);
  550.       NetString s = (NetString)results.elementAt(0);
  551.       return s.getString();
  552.    }
  553.  
  554.    public String getNumericFunctions() throws SQLException {
  555.       Vector results = this._messgr.invokeMethod(4);
  556.       NetString s = (NetString)results.elementAt(0);
  557.       return s.getString();
  558.    }
  559.  
  560.    public String getStringFunctions() throws SQLException {
  561.       Vector results = this._messgr.invokeMethod(5);
  562.       NetString s = (NetString)results.elementAt(0);
  563.       return s.getString();
  564.    }
  565.  
  566.    public String getSystemFunctions() throws SQLException {
  567.       Vector results = this._messgr.invokeMethod(6);
  568.       NetString s = (NetString)results.elementAt(0);
  569.       return s.getString();
  570.    }
  571.  
  572.    public String getSearchStringEscape() {
  573.       return this._SearchStringEscape;
  574.    }
  575.  
  576.    public String getExtraNameCharacters() {
  577.       return this._ExtraNameCharacters;
  578.    }
  579.  
  580.    public boolean supportsAlterTableWithAddColumn() {
  581.       return this._supportsAlterTableWithAddColumn;
  582.    }
  583.  
  584.    public boolean supportsAlterTableWithDropColumn() {
  585.       return this._supportsAlterTableWithDropColumn;
  586.    }
  587.  
  588.    public boolean supportsTableCorrelationNames() {
  589.       return this._supportsTableCorrelationNames;
  590.    }
  591.  
  592.    public boolean supportsDifferentTableCorrelationNames() {
  593.       return this._supportsDifferentTableCorrelationNames;
  594.    }
  595.  
  596.    public boolean supportsColumnAliasing() {
  597.       return this._supportsColumnAliasing;
  598.    }
  599.  
  600.    public boolean supportsNonNullableColumns() {
  601.       return this._supportsNonNullableColumns;
  602.    }
  603.  
  604.    public boolean nullPlusNonNullIsNull() {
  605.       return this._nullPlusNonNullIsNull;
  606.    }
  607.  
  608.    public boolean supportsConvert() throws SQLException {
  609.       Vector results = this._messgr.invokeMethod(7);
  610.       NetData d = (NetData)results.elementAt(0);
  611.  
  612.       try {
  613.          return d.getBool();
  614.       } catch (EOFException e) {
  615.          throw new SQLException(((Throwable)e).getMessage());
  616.       }
  617.    }
  618.  
  619.    public boolean supportsConvert(int fromType, int toType) throws SQLException {
  620.       Vector params = new Vector();
  621.       params.addElement(new Param(0, fromType));
  622.       params.addElement(new Param(0, toType));
  623.       Vector results = this._messgr.invokeMethod(8, params);
  624.       NetData d = (NetData)results.elementAt(0);
  625.  
  626.       try {
  627.          return d.getBool();
  628.       } catch (EOFException e) {
  629.          throw new SQLException(((Throwable)e).getMessage());
  630.       }
  631.    }
  632.  
  633.    public boolean supportsExpressionsInOrderBy() {
  634.       return this._supportsExpressionsInOrderBy;
  635.    }
  636.  
  637.    public boolean supportsOrderByUnrelated() {
  638.       return this._supportsOrderByUnrelated;
  639.    }
  640.  
  641.    public boolean supportsGroupBy() {
  642.       return this._supportsGroupBy;
  643.    }
  644.  
  645.    public boolean supportsGroupByUnrelated() {
  646.       return this._supportsGroupByUnrelated;
  647.    }
  648.  
  649.    public boolean supportsGroupByBeyondSelect() {
  650.       return this._supportsGroupByBeyondSelect;
  651.    }
  652.  
  653.    public boolean supportsOuterJoins() {
  654.       return this._supportsOuterJoins;
  655.    }
  656.  
  657.    public boolean supportsFullOuterJoins() {
  658.       return this._supportsFullOuterJoins;
  659.    }
  660.  
  661.    public boolean supportsLimitedOuterJoins() {
  662.       return this._supportsLimitedOuterJoins;
  663.    }
  664.  
  665.    public boolean supportsLikeEscapeClause() {
  666.       return this._supportsLikeEscapeClause;
  667.    }
  668.  
  669.    public boolean supportsMultipleResultSets() {
  670.       return this._supportsMultipleResultSets;
  671.    }
  672.  
  673.    public boolean supportsMultipleTransactions() {
  674.       return this._supportsMultipleTransactions;
  675.    }
  676.  
  677.    public boolean supportsOpenCursorsAcrossCommit() {
  678.       return this._supportsOpenCursorsAcrossCommit;
  679.    }
  680.  
  681.    public boolean supportsOpenCursorsAcrossRollback() {
  682.       return this._supportsOpenCursorsAcrossRollback;
  683.    }
  684.  
  685.    public boolean supportsOpenStatementsAcrossCommit() {
  686.       return this._supportsOpenStatementsAcrossCommit;
  687.    }
  688.  
  689.    public boolean supportsOpenStatementsAcrossRollback() {
  690.       return this._supportsOpenStatementsAcrossRollback;
  691.    }
  692.  
  693.    public boolean supportsTransactions() {
  694.       return this._supportsTransactions;
  695.    }
  696.  
  697.    public boolean supportsDataDefinitionAndDataManipulationTransactions() {
  698.       return this._supportsDataDefinitionAndDataManipulationTransactions;
  699.    }
  700.  
  701.    public boolean supportsDataManipulationTransactionsOnly() {
  702.       return this._supportsDataManipulationTransactionsOnly;
  703.    }
  704.  
  705.    public boolean supportsMinimumSQLGrammar() {
  706.       return this._supportsMinimumSQLGrammar;
  707.    }
  708.  
  709.    public boolean supportsCoreSQLGrammar() {
  710.       return this._supportsCoreSQLGrammar;
  711.    }
  712.  
  713.    public boolean supportsExtendedSQLGrammar() {
  714.       return this._supportsExtendedSQLGrammar;
  715.    }
  716.  
  717.    public boolean supportsIntegrityEnhancementFacility() {
  718.       return this._supportsIntegrityEnhancementFacility;
  719.    }
  720.  
  721.    public String getSchemaTerm() {
  722.       return this._SchemaTerm;
  723.    }
  724.  
  725.    public String getProcedureTerm() {
  726.       return this._ProcedureTerm;
  727.    }
  728.  
  729.    public String getCatalogTerm() {
  730.       return this._CatalogTerm;
  731.    }
  732.  
  733.    public String getCatalogSeparator() {
  734.       return this._CatalogSeparator;
  735.    }
  736.  
  737.    public boolean supportsSchemasInDataManipulation() {
  738.       return this._supportsSchemasInDataManipulation;
  739.    }
  740.  
  741.    public boolean supportsSchemasInProcedureCalls() {
  742.       return this._supportsSchemasInProcedureCalls;
  743.    }
  744.  
  745.    public boolean supportsSchemasInTableDefinitions() {
  746.       return this._supportsSchemasInTableDefinitions;
  747.    }
  748.  
  749.    public boolean supportsSchemasInIndexDefinitions() {
  750.       return this._supportsSchemasInIndexDefinitions;
  751.    }
  752.  
  753.    public boolean supportsSchemasInPrivilegeDefinitions() {
  754.       return this._supportsSchemasInPrivilegeDefinitions;
  755.    }
  756.  
  757.    public boolean supportsCatalogsInDataManipulation() {
  758.       return this._supportsCatalogsInDataManipulation;
  759.    }
  760.  
  761.    public boolean supportsCatalogsInProcedureCalls() {
  762.       return this._supportsCatalogsInProcedureCalls;
  763.    }
  764.  
  765.    public boolean supportsCatalogsInTableDefinitions() {
  766.       return this._supportsCatalogsInTableDefinitions;
  767.    }
  768.  
  769.    public boolean supportsCatalogsInIndexDefinitions() {
  770.       return this._supportsCatalogsInIndexDefinitions;
  771.    }
  772.  
  773.    public boolean supportsCatalogsInPrivilegeDefinitions() {
  774.       return this._supportsCatalogsInPrivilegeDefinitions;
  775.    }
  776.  
  777.    public boolean supportsPositionedDelete() {
  778.       return this._supportsPositionedDelete;
  779.    }
  780.  
  781.    public boolean supportsPositionedUpdate() {
  782.       return this._supportsPositionedUpdate;
  783.    }
  784.  
  785.    public boolean supportsSelectForUpdate() {
  786.       return this._supportsSelectForUpdate;
  787.    }
  788.  
  789.    public boolean supportsSubqueriesInComparisons() {
  790.       return this._supportsSubqueriesInComparisons;
  791.    }
  792.  
  793.    public boolean supportsSubqueriesInExists() {
  794.       return this._supportsSubqueriesInExists;
  795.    }
  796.  
  797.    public boolean supportsSubqueriesInIns() {
  798.       return this._supportsSubqueriesInIns;
  799.    }
  800.  
  801.    public boolean supportsSubqueriesInQuantifieds() {
  802.       return this._supportsSubqueriesInQuantifieds;
  803.    }
  804.  
  805.    public boolean supportsCorrelatedSubqueries() {
  806.       return this._supportsCorrelatedSubqueries;
  807.    }
  808.  
  809.    public boolean supportsUnion() {
  810.       return this._supportsUnion;
  811.    }
  812.  
  813.    public boolean supportsUnionAll() {
  814.       return this._supportsUnionAll;
  815.    }
  816.  
  817.    public boolean doesMaxRowSizeIncludeBlobs() {
  818.       return this._doesMaxRowSizeIncludeBlobs;
  819.    }
  820.  
  821.    public boolean supportsStoredProcedures() {
  822.       return this._supportsStoredProcedures;
  823.    }
  824.  
  825.    public int getMaxBinaryLiteralLength() {
  826.       return this._MaxBinaryLiteralLength;
  827.    }
  828.  
  829.    public int getMaxCharLiteralLength() {
  830.       return this._MaxCharLiteralLength;
  831.    }
  832.  
  833.    public int getMaxColumnNameLength() {
  834.       return this._MaxColumnNameLength;
  835.    }
  836.  
  837.    public int getMaxColumnsInGroupBy() {
  838.       return this._MaxColumnsInGroupBy;
  839.    }
  840.  
  841.    public int getMaxColumnsInIndex() {
  842.       return this._MaxColumnsInIndex;
  843.    }
  844.  
  845.    public int getMaxColumnsInOrderBy() {
  846.       return this._MaxColumnsInOrderBy;
  847.    }
  848.  
  849.    public int getMaxColumnsInSelect() {
  850.       return this._MaxColumnsInSelect;
  851.    }
  852.  
  853.    public int getMaxColumnsInTable() {
  854.       return this._MaxColumnsInTable;
  855.    }
  856.  
  857.    public int getMaxConnections() {
  858.       return this._MaxConnections;
  859.    }
  860.  
  861.    public int getMaxCursorNameLength() {
  862.       return this._MaxCursorNameLength;
  863.    }
  864.  
  865.    public int getMaxIndexLength() {
  866.       return this._MaxIndexLength;
  867.    }
  868.  
  869.    public int getMaxSchemaNameLength() {
  870.       return this._MaxSchemaNameLength;
  871.    }
  872.  
  873.    public int getMaxProcedureNameLength() {
  874.       return this._MaxProcedureNameLength;
  875.    }
  876.  
  877.    public int getMaxCatalogNameLength() {
  878.       return this._MaxCatalogNameLength;
  879.    }
  880.  
  881.    public int getMaxRowSize() {
  882.       return this._MaxRowSize;
  883.    }
  884.  
  885.    public int getMaxStatementLength() {
  886.       return this._MaxStatementLength;
  887.    }
  888.  
  889.    public int getMaxStatements() {
  890.       return this._MaxStatements;
  891.    }
  892.  
  893.    public int getMaxTableNameLength() {
  894.       return this._MaxTableNameLength;
  895.    }
  896.  
  897.    public int getMaxTablesInSelect() {
  898.       return this._MaxTablesInSelect;
  899.    }
  900.  
  901.    public int getMaxUserNameLength() {
  902.       return this._MaxUserNameLength;
  903.    }
  904.  
  905.    public int getDefaultTransactionIsolation() {
  906.       return this._DefaultTransactionIsolation;
  907.    }
  908.  
  909.    public boolean supportsTransactionIsolationLevel(int level) throws SQLException {
  910.       Vector results = this._messgr.invokeMethod(9, level);
  911.       NetData d = (NetData)results.elementAt(0);
  912.  
  913.       try {
  914.          return d.getBool();
  915.       } catch (EOFException e) {
  916.          throw new SQLException(((Throwable)e).getMessage());
  917.       }
  918.    }
  919.  
  920.    public boolean dataDefinitionCausesTransactionCommit() {
  921.       return this._dataDefinitionCausesTransactionCommit;
  922.    }
  923.  
  924.    public boolean dataDefinitionIgnoredInTransactions() {
  925.       return this._dataDefinitionIgnoredInTransactions;
  926.    }
  927.  
  928.    public RelationView getProcedures(String catalog, String schemaPattern, String procedureNamePattern) throws SQLException {
  929.       String catalogParam = "";
  930.       String catalogTerm = this.getCatalogTerm();
  931.       if (catalogTerm != "") {
  932.          catalogParam = catalog;
  933.       }
  934.  
  935.       String schemaParam = "";
  936.       String schemaTerm = this.getSchemaTerm();
  937.       if (schemaTerm != "") {
  938.          schemaParam = schemaPattern;
  939.       }
  940.  
  941.       Vector params = new Vector();
  942.       params.addElement(new TextParam(0, catalogParam));
  943.       params.addElement(new TextParam(0, schemaParam));
  944.       params.addElement(new TextParam(0, procedureNamePattern));
  945.       Vector results = this._messgr.invokeMethod(10, params);
  946.       MultiView mv = new MultiView(this._session, results, this._conn);
  947.       this._multiViews.addElement(mv);
  948.       return mv.getRootRelView();
  949.    }
  950.  
  951.    public RelationView getProcedureColumns(String catalog, String schemaPattern, String procedureNamePattern, String columnNamePattern) throws SQLException {
  952.       String catalogParam = "";
  953.       String catalogTerm = this.getCatalogTerm();
  954.       if (catalogTerm != "") {
  955.          catalogParam = catalog;
  956.       }
  957.  
  958.       String schemaParam = "";
  959.       String schemaTerm = this.getSchemaTerm();
  960.       if (schemaTerm != "") {
  961.          schemaParam = schemaPattern;
  962.       }
  963.  
  964.       Vector params = new Vector();
  965.       params.addElement(new TextParam(0, catalogParam));
  966.       params.addElement(new TextParam(0, schemaParam));
  967.       params.addElement(new TextParam(0, procedureNamePattern));
  968.       params.addElement(new TextParam(0, columnNamePattern));
  969.       Vector results = this._messgr.invokeMethod(11, params);
  970.       MultiView mv = new MultiView(this._session, results, this._conn);
  971.       this._multiViews.addElement(mv);
  972.       return mv.getRootRelView();
  973.    }
  974.  
  975.    public RelationView getTables(String catalog, String schemaPattern, String tableNamePattern, String[] types) throws SQLException {
  976.       String catalogParam = "";
  977.       String catalogTerm = this.getCatalogTerm();
  978.       if (catalogTerm != "") {
  979.          catalogParam = catalog;
  980.       }
  981.  
  982.       String schemaParam = "";
  983.       String schemaTerm = this.getSchemaTerm();
  984.       if (schemaTerm != "") {
  985.          schemaParam = schemaPattern;
  986.       }
  987.  
  988.       Vector params = new Vector();
  989.       params.addElement(new TextParam(0, catalogParam));
  990.       params.addElement(new TextParam(0, schemaParam));
  991.       params.addElement(new TextParam(0, tableNamePattern));
  992.       if (types != null) {
  993.          for(int index = 0; index < types.length; ++index) {
  994.             params.addElement(new TextParam(0, types[index]));
  995.          }
  996.       }
  997.  
  998.       Vector results = this._messgr.invokeMethod(12, params);
  999.       MultiView mv = new MultiView(this._session, results, this._conn);
  1000.       this._multiViews.addElement(mv);
  1001.       return mv.getRootRelView();
  1002.    }
  1003.  
  1004.    public RelationView getSchemas() throws SQLException {
  1005.       Vector results = this._messgr.invokeMethod(13);
  1006.       MultiView mv = new MultiView(this._session, results, this._conn);
  1007.       this._multiViews.addElement(mv);
  1008.       return mv.getRootRelView();
  1009.    }
  1010.  
  1011.    public RelationView getCatalogs() throws SQLException {
  1012.       Vector results = this._messgr.invokeMethod(14);
  1013.       MultiView mv = new MultiView(this._session, results, this._conn);
  1014.       this._multiViews.addElement(mv);
  1015.       return mv.getRootRelView();
  1016.    }
  1017.  
  1018.    public RelationView getTableTypes() throws SQLException {
  1019.       Vector results = this._messgr.invokeMethod(15);
  1020.       MultiView mv = new MultiView(this._session, results, this._conn);
  1021.       this._multiViews.addElement(mv);
  1022.       return mv.getRootRelView();
  1023.    }
  1024.  
  1025.    public RelationView getColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern) throws SQLException {
  1026.       String catalogParam = "";
  1027.       String catalogTerm = this.getCatalogTerm();
  1028.       if (catalogTerm != "") {
  1029.          catalogParam = catalog;
  1030.       }
  1031.  
  1032.       String schemaParam = "";
  1033.       String schemaTerm = this.getSchemaTerm();
  1034.       if (schemaTerm != "") {
  1035.          schemaParam = schemaPattern;
  1036.       }
  1037.  
  1038.       Vector params = new Vector();
  1039.       params.addElement(new TextParam(0, catalogParam));
  1040.       params.addElement(new TextParam(0, schemaParam));
  1041.       params.addElement(new TextParam(0, tableNamePattern));
  1042.       params.addElement(new TextParam(0, columnNamePattern));
  1043.       Vector results = this._messgr.invokeMethod(16, params);
  1044.       MultiView mv = new MultiView(this._session, results, this._conn);
  1045.       this._multiViews.addElement(mv);
  1046.       return mv.getRootRelView();
  1047.    }
  1048.  
  1049.    public RelationView getColumnPrivileges(String catalog, String schema, String table, String columnNamePattern) throws SQLException {
  1050.       String catalogParam = "";
  1051.       String catalogTerm = this.getCatalogTerm();
  1052.       if (catalogTerm != "") {
  1053.          catalogParam = catalog;
  1054.       }
  1055.  
  1056.       String schemaParam = "";
  1057.       String schemaTerm = this.getSchemaTerm();
  1058.       if (schemaTerm != "") {
  1059.          schemaParam = schema;
  1060.       }
  1061.  
  1062.       Vector params = new Vector();
  1063.       params.addElement(new TextParam(0, catalogParam));
  1064.       params.addElement(new TextParam(0, schemaParam));
  1065.       params.addElement(new TextParam(0, table));
  1066.       params.addElement(new TextParam(0, columnNamePattern));
  1067.       Vector results = this._messgr.invokeMethod(17, params);
  1068.       MultiView mv = new MultiView(this._session, results, this._conn);
  1069.       this._multiViews.addElement(mv);
  1070.       return mv.getRootRelView();
  1071.    }
  1072.  
  1073.    public RelationView getTablePrivileges(String catalog, String schemaPattern, String tableNamePattern) throws SQLException {
  1074.       String catalogParam = "";
  1075.       String catalogTerm = this.getCatalogTerm();
  1076.       if (catalogTerm != "") {
  1077.          catalogParam = catalog;
  1078.       }
  1079.  
  1080.       String schemaParam = "";
  1081.       String schemaTerm = this.getSchemaTerm();
  1082.       if (schemaTerm != "") {
  1083.          schemaParam = schemaPattern;
  1084.       }
  1085.  
  1086.       Vector params = new Vector();
  1087.       params.addElement(new TextParam(0, catalogParam));
  1088.       params.addElement(new TextParam(0, schemaParam));
  1089.       params.addElement(new TextParam(0, tableNamePattern));
  1090.       Vector results = this._messgr.invokeMethod(18, params);
  1091.       MultiView mv = new MultiView(this._session, results, this._conn);
  1092.       this._multiViews.addElement(mv);
  1093.       return mv.getRootRelView();
  1094.    }
  1095.  
  1096.    public RelationView getBestRowIdentifier(String catalog, String schema, String table, int scope, boolean nullable) throws SQLException {
  1097.       String catalogParam = "";
  1098.       String catalogTerm = this.getCatalogTerm();
  1099.       if (catalogTerm != "") {
  1100.          catalogParam = catalog;
  1101.       }
  1102.  
  1103.       String schemaParam = "";
  1104.       String schemaTerm = this.getSchemaTerm();
  1105.       if (schemaTerm != "") {
  1106.          schemaParam = schema;
  1107.       }
  1108.  
  1109.       Vector params = new Vector();
  1110.       params.addElement(new TextParam(0, catalogParam));
  1111.       params.addElement(new TextParam(0, schemaParam));
  1112.       params.addElement(new TextParam(0, table));
  1113.       params.addElement(new Param(0, scope));
  1114.       params.addElement(new Param(0, nullable));
  1115.       Vector results = this._messgr.invokeMethod(19, params);
  1116.       MultiView mv = new MultiView(this._session, results, this._conn);
  1117.       this._multiViews.addElement(mv);
  1118.       return mv.getRootRelView();
  1119.    }
  1120.  
  1121.    public RelationView getVersionColumns(String catalog, String schema, String table) throws SQLException {
  1122.       String catalogParam = "";
  1123.       String catalogTerm = this.getCatalogTerm();
  1124.       if (catalogTerm != "") {
  1125.          catalogParam = catalog;
  1126.       }
  1127.  
  1128.       String schemaParam = "";
  1129.       String schemaTerm = this.getSchemaTerm();
  1130.       if (schemaTerm != "") {
  1131.          schemaParam = schema;
  1132.       }
  1133.  
  1134.       Vector params = new Vector();
  1135.       params.addElement(new TextParam(0, catalogParam));
  1136.       params.addElement(new TextParam(0, schemaParam));
  1137.       params.addElement(new TextParam(0, table));
  1138.       Vector results = this._messgr.invokeMethod(20, params);
  1139.       MultiView mv = new MultiView(this._session, results, this._conn);
  1140.       this._multiViews.addElement(mv);
  1141.       return mv.getRootRelView();
  1142.    }
  1143.  
  1144.    public RelationView getPrimaryKeys(String catalog, String schema, String table) throws SQLException {
  1145.       String catalogParam = "";
  1146.       String catalogTerm = this.getCatalogTerm();
  1147.       if (catalogTerm != "") {
  1148.          catalogParam = catalog;
  1149.       }
  1150.  
  1151.       String schemaParam = "";
  1152.       String schemaTerm = this.getSchemaTerm();
  1153.       if (schemaTerm != "") {
  1154.          schemaParam = schema;
  1155.       }
  1156.  
  1157.       Vector params = new Vector();
  1158.       params.addElement(new TextParam(0, catalogParam));
  1159.       params.addElement(new TextParam(0, schemaParam));
  1160.       params.addElement(new TextParam(0, table));
  1161.       Vector results = this._messgr.invokeMethod(21, params);
  1162.       MultiView mv = new MultiView(this._session, results, this._conn);
  1163.       this._multiViews.addElement(mv);
  1164.       return mv.getRootRelView();
  1165.    }
  1166.  
  1167.    public RelationView getImportedKeys(String catalog, String schema, String table) throws SQLException {
  1168.       String catalogParam = "";
  1169.       String catalogTerm = this.getCatalogTerm();
  1170.       if (catalogTerm != "") {
  1171.          catalogParam = catalog;
  1172.       }
  1173.  
  1174.       String schemaParam = "";
  1175.       String schemaTerm = this.getSchemaTerm();
  1176.       if (schemaTerm != "") {
  1177.          schemaParam = schema;
  1178.       }
  1179.  
  1180.       Vector params = new Vector();
  1181.       params.addElement(new TextParam(0, catalogParam));
  1182.       params.addElement(new TextParam(0, schemaParam));
  1183.       params.addElement(new TextParam(0, table));
  1184.       Vector results = this._messgr.invokeMethod(22, params);
  1185.       MultiView mv = new MultiView(this._session, results, this._conn);
  1186.       this._multiViews.addElement(mv);
  1187.       return mv.getRootRelView();
  1188.    }
  1189.  
  1190.    public RelationView getExportedKeys(String catalog, String schema, String table) throws SQLException {
  1191.       String catalogParam = "";
  1192.       String catalogTerm = this.getCatalogTerm();
  1193.       if (catalogTerm != "") {
  1194.          catalogParam = catalog;
  1195.       }
  1196.  
  1197.       String schemaParam = "";
  1198.       String schemaTerm = this.getSchemaTerm();
  1199.       if (schemaTerm != "") {
  1200.          schemaParam = schema;
  1201.       }
  1202.  
  1203.       Vector params = new Vector();
  1204.       params.addElement(new TextParam(0, catalogParam));
  1205.       params.addElement(new TextParam(0, schemaParam));
  1206.       params.addElement(new TextParam(0, table));
  1207.       Vector results = this._messgr.invokeMethod(23, params);
  1208.       MultiView mv = new MultiView(this._session, results, this._conn);
  1209.       this._multiViews.addElement(mv);
  1210.       return mv.getRootRelView();
  1211.    }
  1212.  
  1213.    public RelationView getCrossReference(String primaryCatalog, String primarySchema, String primaryTable, String foreignCatalog, String foreignSchema, String foreignTable) throws SQLException {
  1214.       Vector params = new Vector();
  1215.       params.addElement(new TextParam(0, primaryCatalog));
  1216.       params.addElement(new TextParam(0, primarySchema));
  1217.       params.addElement(new TextParam(0, primaryTable));
  1218.       params.addElement(new TextParam(0, foreignCatalog));
  1219.       params.addElement(new TextParam(0, foreignSchema));
  1220.       params.addElement(new TextParam(0, foreignTable));
  1221.       Vector results = this._messgr.invokeMethod(24, params);
  1222.       MultiView mv = new MultiView(this._session, results, this._conn);
  1223.       this._multiViews.addElement(mv);
  1224.       return mv.getRootRelView();
  1225.    }
  1226.  
  1227.    public RelationView getTypeInfo() throws SQLException {
  1228.       Vector results = this._messgr.invokeMethod(25);
  1229.       MultiView mv = new MultiView(this._session, results, this._conn);
  1230.       this._multiViews.addElement(mv);
  1231.       return mv.getRootRelView();
  1232.    }
  1233.  
  1234.    public RelationView getIndexInfo(String catalog, String schema, String table, boolean unique, boolean approximate) throws SQLException {
  1235.       String catalogParam = "";
  1236.       String catalogTerm = this.getCatalogTerm();
  1237.       if (catalogTerm != "") {
  1238.          catalogParam = catalog;
  1239.       }
  1240.  
  1241.       String schemaParam = "";
  1242.       String schemaTerm = this.getSchemaTerm();
  1243.       if (schemaTerm != "") {
  1244.          schemaParam = schema;
  1245.       }
  1246.  
  1247.       Vector params = new Vector();
  1248.       params.addElement(new TextParam(0, catalogParam));
  1249.       params.addElement(new TextParam(0, schemaParam));
  1250.       params.addElement(new TextParam(0, table));
  1251.       params.addElement(new Param(0, unique));
  1252.       params.addElement(new Param(0, approximate));
  1253.       Vector results = this._messgr.invokeMethod(26, params);
  1254.       MultiView mv = new MultiView(this._session, results, this._conn);
  1255.       this._multiViews.addElement(mv);
  1256.       return mv.getRootRelView();
  1257.    }
  1258. }
  1259.